package com.autumn.zero.application.services;

import java.util.List;

import org.apache.poi.ss.usermodel.Workbook;

import com.autumn.application.service.IApplicationService;
import com.autumn.common.api.application.dto.input.IAdvancedPageQueryInput;
import com.autumn.common.api.application.dto.input.IAdvancedQueryInput;
import com.autumn.common.api.application.dto.output.IPageQueryResult;
import com.autumn.zero.listing.IAutumnZeroListingCallback;

/**
 * 查询应用服务
 * 
 * @author 杨昌国 2018-11-16 16:43:52
 * @param <TQueryItemResult> 查询项目结果类型
 */
public interface IZeroQueryAppService<TQueryItemResult>
		extends IApplicationService, IZeroAppModule, IAutumnZeroListingCallback {

	/**
	 * 查询列表
	 * 
	 * @param input 输入
	 * @return
	 */
	List<TQueryItemResult> queryByList(IAdvancedQueryInput input);

	/**
	 * 分页查询
	 * 
	 * @param input 输入
	 * @return
	 */
	IPageQueryResult<TQueryItemResult> queryByPageList(IAdvancedPageQueryInput input);

	/**
	 * Excel 导出
	 * 
	 * @param input 输入
	 * @return
	 */
	Workbook exportByExcel(IAdvancedQueryInput input);

}
